using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class SolicitudRequisicionDetalleDao 
    { 
        private SqlConnection cn; 
        public SolicitudRequisicionDetalleDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(SolicitudRequisicionDetalle obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO solicitud_requisicion_detalle " + 
           "(numeroSolicitudRequisicion,codigoArticulo,cantidadArticulo,estadoReposicion) VALUES" + 
           "(@numeroSolicitudRequisicion,@codigoArticulo,@cantidadArticulo,@estadoReposicion)", this.cn); 

command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 
command.Parameters.Add(new SqlParameter("@cantidadArticulo", obj.cantidadArticulo)); 
command.Parameters.Add(new SqlParameter("@estadoReposicion", obj.estadoReposicion)); 
command.ExecuteNonQuery(); 
} 
  		public void update(SolicitudRequisicionDetalle obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE SolicitudRequisicionDetalle " + 
			" SET " + 
"cantidadArticulo=@cantidadArticulo" + 
",estadoReposicion=@estadoReposicion" + 
 " WHERE " + 
"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
+" AND codigoArticulo=@codigoArticulo" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 
command.Parameters.Add(new SqlParameter("@cantidadArticulo", obj.cantidadArticulo)); 
command.Parameters.Add(new SqlParameter("@estadoReposicion", obj.estadoReposicion)); 
command.ExecuteNonQuery(); 
} 
       public void delete(SolicitudRequisicionDetalle obj){ 
SqlCommand command = new SqlCommand("DELETE FROM solicitud_requisicion_detalle WHERE "  
 +"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
+" AND codigoArticulo=@codigoArticulo" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 
command.ExecuteNonQuery(); 
} 
        public SolicitudRequisicionDetalle get(SolicitudRequisicionDetalle obj) 
{ 
   SolicitudRequisicionDetalle record = null; 
    SqlCommand command = new SqlCommand("SELECT numeroSolicitudRequisicion,codigoArticulo,cantidadArticulo,estadoReposicion FROM solicitud_requisicion_detalle where " 
 +"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
+" AND codigoArticulo=@codigoArticulo" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new SolicitudRequisicionDetalle(); 
if (dr["numeroSolicitudRequisicion"] == DBNull.Value) { record.numeroSolicitudRequisicion = SqlString.Null; } else { record.numeroSolicitudRequisicion = (String)dr["numeroSolicitudRequisicion"]; } 
if (dr["codigoArticulo"] == DBNull.Value) { record.codigoArticulo = SqlString.Null; } else { record.codigoArticulo = (String)dr["codigoArticulo"]; } 
if (dr["cantidadArticulo"] == DBNull.Value) { record.cantidadArticulo = SqlInt32.Null; } else { record.cantidadArticulo = (Int32)dr["cantidadArticulo"]; } 
if (dr["estadoReposicion"] == DBNull.Value) { record.estadoReposicion = SqlInt32.Null; } else { record.estadoReposicion = (Int32)dr["estadoReposicion"]; } 
this.cn.Close(); 
return record; 
} 
     public List<SolicitudRequisicionDetalle> getList() 
{ 
   List<SolicitudRequisicionDetalle> list = new List<SolicitudRequisicionDetalle>(); 
    SqlCommand command = new SqlCommand("SELECT numeroSolicitudRequisicion,codigoArticulo,cantidadArticulo,estadoReposicion FROM solicitud_requisicion_detalle", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
SolicitudRequisicionDetalle obj = new SolicitudRequisicionDetalle(); 
if (dr["numeroSolicitudRequisicion"] == DBNull.Value) { obj.numeroSolicitudRequisicion = SqlString.Null; } else { obj.numeroSolicitudRequisicion = (String)dr["numeroSolicitudRequisicion"]; } 
if (dr["codigoArticulo"] == DBNull.Value) { obj.codigoArticulo = SqlString.Null; } else { obj.codigoArticulo = (String)dr["codigoArticulo"]; } 
if (dr["cantidadArticulo"] == DBNull.Value) { obj.cantidadArticulo = SqlInt32.Null; } else { obj.cantidadArticulo = (Int32)dr["cantidadArticulo"]; } 
if (dr["estadoReposicion"] == DBNull.Value) { obj.estadoReposicion = SqlInt32.Null; } else { obj.estadoReposicion = (Int32)dr["estadoReposicion"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
